English

可怕 可恨 可笑的计算机事故

1999-03-03 来源:光明日报  我有话说

据软件专家罗纳德·恩菲尔德报告,在一个典型的大软件系统中,出现的错误数目惊人:代码行数: 1000000原始软件中的错误: 20000测试后仍然存在的错误:2000每年的失败次数: 200失败后纠正的错误: 200继续保留的错误:1800在日常维护中每年增加或修改的代码行数:100000系统中新添的错误:2000在去除新代码中的隐患以后余留的新错误: 200前一年中未能发现的错误:1800错误合计:2000每年预计失败率: 200以下是一些知名的计算机事故:

国防

施瓦尔岑科普夫将军称,海湾战争中美军使用的“爱国者”导弹拦截“飞毛腿”导弹的成功率为100%,而后来披露的数字则显示,成功率只有10%。麻省理工学院的汤姆·波斯托尔教授指出,“爱国者”最初是设计用来拦截飞机的,它对拦截导弹并不在行,甚至还会因此造成更大的地面损害。“飞毛腿”比飞机行进得更快,它在重新进入大气层时会裂开,从而在弹头周围有效地设置一组假目标,令“爱国者”无所适从。

另一个问题与“爱国者”的内置时钟有关,它用以预测下一枚“飞毛腿”何时出现。“爱国者”控制程序中使用的寄存器只有24个字节的长度,精确度因此受到影响,系统运行的时间越长,累积误差也越大。海湾战争中,这些系统的运行时间达到100小时,产生了678米的范围差。一枚未能被拦截的“飞毛腿”命中一个美军阵地,28名美国士兵全部丧生。波斯托尔教授说:“‘爱国者’连‘飞毛腿’这样的简单威胁都消除不了……可见我们的战略防御计划是多么困难。”

1998年美舰导弹误中伊朗655航班客机,290位乘客全部罹难,这其中有人为的错误,但也同计算机界面的设计缺陷有关。据报道,对在军舰上使用的系统的测试是在一片麦田里完成的!在英阿马岛之战中,英国驱逐舰“加以夫”号发射“海镖”导弹击落一架英军直升机,4位机组成员死亡,原因是它被计算机系统当成了阿根廷飞机。

航天

第一架航天飞机“哥伦比亚”号在发射时,出现了计算机不同步问题,人称“响彻世界的臭虫之声”;哈勃望远镜升空不久就出现了故障,原因是一个臭虫深深埋藏在以百万行计的软件代码中。

航空

普利策奖获得者赫什争辩说,1983年韩国007航班客机因误入苏联领空,最终被苏军导弹击落而机毁人亡的惨剧,完全是由于机组人员过分依赖飞机上的自动导航系统所致。

1988年,空中客车A320客机成为第一种使用电子飞行系统的飞机,从飞行员的操纵杆到飞机的表面都由电线连接起来。这样,所有的操作都必须通过一个电脑“过滤器”,甚至开灯和冲厕所都是如此!法航的一架A320客机在一次飞行表演中失事,造成3人死亡。事故调查过程中,人们对由计算机引起的发动机加速、着陆前的停电和滑行时的驾驶不稳问题提出质疑,但调查的结论却是飞行员失误。此后,印度航空公司的一架A320客机又在距跑道1000英尺的地方失事,97人死亡。

记账和收费

自从企业用上了计算机,就一直存在“疯狂账单”的故事。1990年,一位芝加哥妇女从电话公司那里收到一张8709800.33美元的账单(实际应为87.98元),她说:“我只不过给我的姐姐打了个电话。”

有时候事情反着发生。1992年5月8日美联社报道,美国北达科他州的一位农民打算从某政府部门手中领取一张价值31美元的支票,结果拿到的却是4038277.04元!该部门的负责人说:“计算机程序偶尔会挑出这一数字,把它打印在某个地方,只不过这回它第一次把此数批在了支票上。”

身份认定

美国密执安州的德里·迪恩·罗甘多次被错误地列入全国犯罪信息系统,因为他“犯有抢劫和谋杀罪”。事实是一位监狱在逃犯盗用了他的名字。从1982年到1987年,罗甘被捕5次,最后他不得不向法院起诉以获得赔偿。

宾夕法尼亚州的尤金·史密斯花了漫长的时间向当局证明他仍在人世。1988年,他的钱包被窃,窃贼在多次交通违规后死于一起交通事故,当时身上带着这个钱包。1990年,史密斯外出时被一位警官截住,警官称根据记录他已经死亡,因而无权驾车!因为他无法获得有效的驾驶执照,他丢了在一家仓库开车的工作。当他终于修改了自己的死亡记录之后,史密斯仍然拿不到驾驶执照,因为那些交通违规还记在他的名下。

医疗

最广为人知的是加拿大原子能公司制造的Therac-25线性加速放射器致人死亡事件。该机器由计算机控制,耗资百万元以上,由于5次连续性的错误造成放射过量,5位病人死亡,2人重伤。死亡病人接受了超过正常剂量100倍以上的放射。在英国,1000位病人因为一个程序错误,在长达10年的时间内未能得到有效的癌症治疗,这次是因为放射量比医嘱少了35%。千人当中只有447人尚在人世。

其他

1992年百事可乐公司发动了一场有奖销售,“中奖号码”被写在瓶盖里面。由于一次“计算机故障”,大奖号码最后被宣布为“349”,这一号码大约出现在50万个瓶盖里,而大奖的数额为38000元。结果百事可乐向每一位“获奖者”支付了19美元,大部分人接受了这一做法,但4000人向法院控告百事可乐有欺诈行为。

1993年9月,米兰股票交易所的一个计算机输入错误使得当时意大利市场上最好的一只股票价格下跌了12%;市场立刻出现了短暂的动乱。事情过后有人指出,为股票市场这样的巨大系统而写的软件必须内置核查功能,一旦发现某些数字与从前有较大出入就立刻核查。除此而外,在公布数字之前还应该有专人把关。

1993年11月,合众社报道,巴西的一个政府委员会在调查腐败情况时,动用了计算机反复核对银行账户、支票及预算报告,但就在这时计算机“冻住”了,所有工作都停止下来。“在试图追查政府的腐败行为时,网络耗尽了处理资源,包括内存。”也许这一故事指明了超级计算机的一个新的应用方向。

摘自《三联生活周刊》

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有